package com.jessechanrui.template.common.template.auth.application.dto.req;

import com.jessechanrui.template.core.dto.DTO;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author chenrui
 * @version 1.0
 * @description UserAddRequest
 * @date 2025/5/14
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Builder
@Schema(description = "新增用户")
public class UserAddRequest extends DTO {
    /**
     * 用户名
     */
    @NotBlank(message = "用户名不能空")
    @Schema(description = "用户名")
    private String userName;
    /**
     * 用户类型，0：开发人员，1：项目经理
     */
    @NotNull(message = "用户类型不能空")
    @Schema(description = "用户类型，0：开发人员，1：项目经理")
    private Integer userType = 1;
    /**
     *认证中心密码
     */
    @Schema(description = "认证中心密码")
    private String authPassword;
    /**
     *认证中心用户名
     */
    @Schema(description = "认证中心用户名")
    private String authUserName;
    /**
     *gerrit用户名
     */
    @Schema(description = "gerrit用户名")
    private String gerritUserName;
    /**
     *gerrit密码
     */
    @Schema(description = "gerrit密码")
    private String gerritPassword;
    /**
     *Gerrit密码类型是否为http证书密码，默认为true
     */
    @Schema(description = "Gerrit密码类型是否为http证书密码， 默认为true", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Boolean gerritHttpPassword = true;
}
